/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Entities;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author nd.hurtado2814
 */
public class Inmueble {

    /**
     * Representa el id del inmueble
     */
    private String id;
    /**
     * Representa la informacion que describe las características y otros del inmueble
     */
    private String informacion;
    /**
     * Representa una lista ordenada por fechas de alarmas activadas en el inmueble
     * por causa de incendios
     */
    private List<Alarma> incendios;
    /**
     * Representa una lista ordenada por fechas de alarmas activadas en el inmueble
     * por causa de incendios
     */
    private List<Alarma> robos;

    /**
     * Constructor de una instancia de la clase Inmueble
     */
    public Inmueble() {


        robos = new ArrayList<Alarma>();
        incendios = new ArrayList<Alarma>();

        //Se crean 25 alarmas tipo incendio para el inmueble
        for (int i = 0; i < 25; i++) {
            Alarma a = new Alarma();
            a.setTipo(Alarma.TIPO_INCENDIO);
            Calendar d = Calendar.getInstance();
            SimpleDateFormat sdf = new SimpleDateFormat("DD/MM/yy kk:mm:ss");
            String al = sdf.format(d.getTime());
            try {
                a.setFecha(sdf.parse(al));
            } catch (ParseException ex) {
                ex.printStackTrace();
            }

            incendios.add(a);

        }

        //Se crean 25 alarmas tipo incendio para el robo
        for (int i = 0; i < 25; i++) {
            Alarma a = new Alarma();
            a.setTipo(Alarma.TIPO_ROBO);
            Calendar d = Calendar.getInstance();
            SimpleDateFormat sdf = new SimpleDateFormat("DD/MM/yy kk:mm:ss");
            String al = sdf.format(d.getTime());
            try {
                a.setFecha(sdf.parse(al));
            } catch (ParseException ex) {
                ex.printStackTrace();
            }
            robos.add(a);


        }




    }

    /**
     * Metodo encargado de retornar un string con el id del inmueble
     * @return String el id del inmueble
     */
    public String getId() {
        return id;
    }

    /**
     * Metodo encargado de cambiar el id del inmueble
     * @param id String que representa el nuevo id del inmueble
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * Metodo encargado de retornar un arraylist ordenado de las alarmas tipo incendio
     * @return Arraylist con las alarmas de tipo incendio asociadas al inmueble
     */
    public List<Alarma> getIncendios() {
        return incendios;
    }

    /**
     *Metodo encargado de colocar la nueva lista de alarmas de incendio pasada como parametro
     * @param incendios Un arraylist con Alarmas de tipo incendio
     */
    public void setIncendios(ArrayList<Alarma> incendios) {
        this.incendios = incendios;
    }

    /**
     * Metodo encargado de retornar la informacion adicional del inmueble
     * @return String con la informacion adicional del inmueble
     */
    public String getInformacion() {
        return informacion;
    }

    /**
     * Metodo encargado de cambiar la informacion adicional del inmueble por la pasada como parametro
     * @param informacion String con la nueva informacion del inmueble
     */
    public void setInformacion(String informacion) {
        this.informacion = informacion;
    }

    /**
     * Metodo encargado de retornar un arraylist con alarmas
     * de tipo robos
     * @return Arraylist de alarmas-robo
     */
    public List<Alarma> getRobos() {
        return robos;
    }

    /**
     *Metodo encargado de colocar la nueva lista de alarmas de incendio pasada como parametro
     * @param incendios Un arraylist con Alarmas de tipo robos
     */
    public void setRobos(ArrayList<Alarma> robos) {
        this.robos = robos;
    }
}
